﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using LoginModule;
namespace HDVN5.DaoLienDoan.QuanTri
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        private AccountModuleDataContext dbAcc = new AccountModuleDataContext();
        private string madvsua = "";
        private string maddn = "";
        private string cap1 = "";
        private string cap2 = "";

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                madvsua = Request.QueryString["donvid"].ToString();
                cap2 = Request.QueryString["capdv"].ToString();
                maddn = Application["MADONVIID"].ToString().ToString();
                cap1 = Session["CAPDONVI"].ToString();
                CapDonViSua.Value = cap2;
                MaDonViSua.Value = madvsua;
                bingDataToDropDownList();
                bingDataToTextBox();
            }
        }

        private void bingDataToDropDownList()
        {
            if (cap1 == "1" && cap2 == "5")
            {
                var qu = from ld in dbAcc.SOQUANLYDONVIs where ld.MACAPTRUCTHUOC == Convert.ToInt32(maddn) select ld;
                LienDoanChon.DataSource = qu.ToArray();
                LienDoanChon.DataBind();
            }
        }

        private void bingDataToTextBox()
        {
            LoginModule.SOQUANLYDONVI soquanlydonvi = dbAcc.SOQUANLYDONVIs.SingleOrDefault(p => p.MASO == Convert.ToInt32(madvsua));

            TenDV.Text = soquanlydonvi.TENDONVIDANGKY;
            TenTruong.Text = soquanlydonvi.TENTRUONG;
            Email.Text = soquanlydonvi.EMAIL;
            if (cap1 == "1" && cap2 == "5")
            {
                LienDoanChon.SelectedValue = soquanlydonvi.MACAPTRUCTHUOC.ToString();
            }
        }

        protected void btnKhongLuu_Click(object sender, EventArgs e)
        {
            Response.Redirect("/DaoLienDoan/QuanTri/CacDonViTrucThuoc.aspx");
        }

        protected void btnLuu_Click(object sender, EventArgs e)
        {
            string themDonVi = thayDoiThongTinDonVi(Convert.ToInt32(MaDonViSua.Value), TenDV.Text, Email.Text, TenTruong.Text);
            string s="";
            if (themDonVi == "R")
            {
                s = "Sửa Đơn Vị Thành Công";
            }
            else if (themDonVi == "U")
            {
                s = "Đơn vị không có trong sổ quản lý đơn vị nên không sử được";
            }
            else if (themDonVi == "C")
            {
                s = "Đơn vị đã được công nhận để sửa xin vui lòng chọn mục khác để sửa";
            }
            else if (themDonVi == "L")
            {
                s = "Sửa đơn vị không thành công";
            }

            string script = "alert('" + s + "')";

            ClientScript.RegisterStartupScript(typeof(string), "thongbao", script, true);


        }
        private string thayDoiThongTinDonVi(Int32 maDonVi, string tenDonVi, string email, string tenTruong)
        {
            // Co 4 ky tu = R Cho phep sua , U = Khong co don vi de sua, C = Da Cong Nhan khong cho Sua, 
            // L = That bai
            string updated = "R";
            LoginModule.SOQUANLYDONVI soquanlydonvi = dbAcc.SOQUANLYDONVIs.Single(p => p.MASO == maDonVi);

            if (soquanlydonvi == null)
            {
                updated = "U";
            }
            else
            {
                int CapDonVi = (int)soquanlydonvi.CAPID;
                bool CongNhan = (bool)soquanlydonvi.CONGNHANTHANHLAP;
                // Xet cap don vi tu 4->6

                if (CongNhan == true)
                {
                    updated = "C";
                }
                else
                {
                    try
                    {
                        soquanlydonvi.TENDONVIDANGKY = tenDonVi;
                        soquanlydonvi.TENTRUONG = tenTruong;
                        soquanlydonvi.EMAIL = email;

                        if (CapDonVi == 5)
                        {
                            soquanlydonvi.MACAPTRUCTHUOC = Convert.ToInt32(LienDoanChon.SelectedValue);
                        }

                        dbAcc.SubmitChanges();

                    }
                    catch (Exception ex)
                    {
                        updated = "L";
                        throw new Exception(ex.Message);
                    }
                }
            }

            return updated;
        }
    }
}